<?php
/**
 * ExtGridColumn class file
 *
 * @author TrueSoftware B.V. (The Netherlands)
 * @link http://www.ext4yii.com
 * @copyright Copyright 2007-2010 TrueSoftware B.V. all rights reserved.
 * @license http://www.ext4yii.com/license/
 *          EVALUATION VERSION - NOT FOR COMMERCIAL USE OR DISTRIBUTION.
 * @version 0.7.2
 */

class ExtGridColumn extends ExtGridColumnBase
{
    /**
     * Gets the value of ExtJS align property
     * @return String 
     */
    public function getAlign()
    {
    	return $this->getConfig("align");
    }

    /**
     * Sets the value of ExtJS align property
     * @param String $value 
     */
    public function setAlign($value)
    {
    	$this->setConfig("align",$value);
    }

    /**
     * Gets the value of ExtJS css property
     * @return String 
     */
    public function getCss()
    {
    	return $this->getConfig("css");
    }

    /**
     * Sets the value of ExtJS css property
     * @param String $value 
     */
    public function setCss($value)
    {
    	$this->setConfig("css",$value);
    }

    /**
     * Gets the value of ExtJS dataIndex property
     * @return String 
     */
    public function getDataIndex()
    {
    	return $this->getConfig("dataindex");
    }

    /**
     * Sets the value of ExtJS dataIndex property
     * @param String $value 
     */
    public function setDataIndex($value)
    {
    	$this->setConfig("dataindex",$value);
    }

    /**
     * Gets the value of ExtJS editable property
     * @return Boolean 
     */
    public function getEditable()
    {
    	return $this->getConfig("editable");
    }

    /**
     * Sets the value of ExtJS editable property
     * @param Boolean $value 
     */
    public function setEditable($value)
    {
    	$this->setConfig("editable",$value);
    }

    /**
     * Gets the value of ExtJS editor property
     * @return Ext.form.Field 
     */
    public function getEditor()
    {
    	return $this->getConfig("editor");
    }

    /**
     * Sets the value of ExtJS editor property
     * @param Ext.form.Field $value 
     */
    public function setEditor($value)
    {
    	$this->setConfig("editor",$value);
    }

    /**
     * Gets the value of ExtJS emptyGroupText property
     * @return String 
     */
    public function getEmptyGroupText()
    {
    	return $this->getConfig("emptygrouptext");
    }

    /**
     * Sets the value of ExtJS emptyGroupText property
     * @param String $value 
     */
    public function setEmptyGroupText($value)
    {
    	$this->setConfig("emptygrouptext",$value);
    }

    /**
     * Gets the value of ExtJS fixed property
     * @return Boolean 
     */
    public function getFixed()
    {
    	return $this->getConfig("fixed");
    }

    /**
     * Sets the value of ExtJS fixed property
     * @param Boolean $value 
     */
    public function setFixed($value)
    {
    	$this->setConfig("fixed",$value);
    }

    /**
     * Gets the value of ExtJS groupName property
     * @return String 
     */
    public function getGroupName()
    {
    	return $this->getConfig("groupname");
    }

    /**
     * Sets the value of ExtJS groupName property
     * @param String $value 
     */
    public function setGroupName($value)
    {
    	$this->setConfig("groupname",$value);
    }

    /**
     * Gets the value of ExtJS groupRenderer property
     * @return Function 
     */
    public function getGroupRenderer()
    {
    	return $this->getConfig("grouprenderer");
    }

    /**
     * Sets the value of ExtJS groupRenderer property
     * @param Function $value 
     */
    public function setGroupRenderer($value)
    {
    	$this->setConfig("grouprenderer",$value);
    }

    /**
     * Gets the value of ExtJS groupable property
     * @return Boolean 
     */
    public function getGroupable()
    {
    	return $this->getConfig("groupable");
    }

    /**
     * Sets the value of ExtJS groupable property
     * @param Boolean $value 
     */
    public function setGroupable($value)
    {
    	$this->setConfig("groupable",$value);
    }

    /**
     * Gets the value of ExtJS header property
     * @return String 
     */
    public function getHeader()
    {
    	return $this->getConfig("header");
    }

    /**
     * Sets the value of ExtJS header property
     * @param String $value 
     */
    public function setHeader($value)
    {
    	$this->setConfig("header",$value);
    }

    /**
     * Gets the value of ExtJS hidden property
     * @return Boolean 
     */
    public function getHidden()
    {
    	return $this->getConfig("hidden");
    }

    /**
     * Sets the value of ExtJS hidden property
     * @param Boolean $value 
     */
    public function setHidden($value)
    {
    	$this->setConfig("hidden",$value);
    }

    /**
     * Gets the value of ExtJS hideable property
     * @return Boolean 
     */
    public function getHideable()
    {
    	return $this->getConfig("hideable");
    }

    /**
     * Sets the value of ExtJS hideable property
     * @param Boolean $value 
     */
    public function setHideable($value)
    {
    	$this->setConfig("hideable",$value);
    }

    /**
     * Gets the value of ExtJS menuDisabled property
     * @return Boolean 
     */
    public function getMenuDisabled()
    {
    	return $this->getConfig("menudisabled");
    }

    /**
     * Sets the value of ExtJS menuDisabled property
     * @param Boolean $value 
     */
    public function setMenuDisabled($value)
    {
    	$this->setConfig("menudisabled",$value);
    }

    /**
     * Gets the value of ExtJS renderer property
     * @return Mixed 
     */
    public function getRenderer()
    {
    	return $this->getConfig("renderer");
    }

    /**
     * Sets the value of ExtJS renderer property
     * @param Mixed $value 
     */
    public function setRenderer($value)
    {
    	$this->setConfig("renderer",$value);
    }

    /**
     * Gets the value of ExtJS resizable property
     * @return Boolean 
     */
    public function getResizable()
    {
    	return $this->getConfig("resizable");
    }

    /**
     * Sets the value of ExtJS resizable property
     * @param Boolean $value 
     */
    public function setResizable($value)
    {
    	$this->setConfig("resizable",$value);
    }

    /**
     * Gets the value of ExtJS scope property
     * @return Object 
     */
    public function getScope()
    {
    	return $this->getConfig("scope");
    }

    /**
     * Sets the value of ExtJS scope property
     * @param Object $value 
     */
    public function setScope($value)
    {
    	$this->setConfig("scope",$value);
    }

    /**
     * Gets the value of ExtJS sortable property
     * @return Boolean 
     */
    public function getSortable()
    {
    	return $this->getConfig("sortable");
    }

    /**
     * Sets the value of ExtJS sortable property
     * @param Boolean $value 
     */
    public function setSortable($value)
    {
    	$this->setConfig("sortable",$value);
    }

    /**
     * Gets the value of ExtJS tooltip property
     * @return String 
     */
    public function getTooltip()
    {
    	return $this->getConfig("tooltip");
    }

    /**
     * Sets the value of ExtJS tooltip property
     * @param String $value 
     */
    public function setTooltip($value)
    {
    	$this->setConfig("tooltip",$value);
    }

    /**
     * Gets the value of ExtJS width property
     * @return Number 
     */
    public function getWidth()
    {
    	return $this->getConfig("width");
    }

    /**
     * Sets the value of ExtJS width property
     * @param Number $value 
     */
    public function setWidth($value)
    {
    	$this->setConfig("width",$value);
    }

    /**
     * Gets the value of ExtJS locked property
     * @return Boolean 
     */
    public function getLocked()
    {
    	return $this->getConfig("locked");
    }

    /**
     * Sets the value of ExtJS locked property
     * @param Boolean $value 
     */
    public function setLocked($value)
    {
    	$this->setConfig("locked",$value);
    }

    /**
     * @description maps to the setEditor function in Ext.grid.Column
     * @param sender String -
     * @param editor Ext.Editor/Ext.form.Field - 
     */
    public static function setEditor_OnAjax($editor,$sender=null)
    {
    	ExtWidget::checkSetAjaxRequestValue('setEditor(%s)',
    		array($editor),
    			 $sender);
    }

    
    public function __construct()
    {
        parent::__construct();
        $this->configmap = array_merge($this->configmap,array(
            'dataindex' => 'dataIndex',
            'emptygrouptext' => 'emptyGroupText',
            'groupname' => 'groupName',
            'grouprenderer' => 'groupRenderer',
            'menudisabled' => 'menuDisabled'
        ));


        $this->jsconfigs = array_merge($this->jsconfigs,array(
            'editor' => true,
            'groupRenderer' => true,
            'renderer' => true
        ));

        $this->proptags = array_merge($this->proptags,array(
            'renderer' => true,
            'editor' => true,
            'grouprenderer' => true
        ));
        $this->setXType('gridcolumn');
        $this->setXClass('Ext.grid.Column');
    }    
}
?>